System and Method for Monitoring Mobile Vehicles

ABSTRACT

A system for monitoring railcars includes a memory operable to store data associated with monitoring a location of a train. The system also includes a processor communicatively coupled to the memory and operable to receive location signals from a plurality of location devices. Each location device is associated with a respective railcar of a plurality of railcars. The plurality of railcars form the train. The processor is further operable to monitor the location of the train based on received location signals from one or more of the plurality of location devices.

TECHNICAL FIELD

The present disclosure relates generally to mobile vehicles, and more particularly to a system and method for monitoring mobile vehicles, such as railcars, using location devices.

BACKGROUND

A typical unit train can have two or more railcars associated with it. In addition, railcars can be detached from the unit train for various reasons. Businesses operating railcars and other mobile vehicles use monitoring systems to track and manage railcars and other mobile vehicles for its customers. Typically, data associated with tracking railcars is communicated via car location messages (CLMs). However, current monitoring systems often fail to provide sufficiently timely and accurate CLMs to customers.

SUMMARY

The teachings of the present disclosure relate to a system and method for monitoring mobile vehicles. In accordance with one embodiment, a method for monitoring railcars includes receiving location signals from a plurality of location devices each associated with a respective railcar of a plurality of railcars. The plurality of railcars form a train. The method further includes monitoring, based on received location signals from one or more of the plurality of location devices, a location of the train.

In accordance with another embodiment, a system for monitoring railcars includes a memory operable to store data associated with monitoring a location of a train. The system also includes a processor communicatively coupled to the memory and operable to receive location signals from a plurality of location devices. Each location device is associated with a respective railcar of a plurality of railcars. The plurality of railcars form the train. The processor is further operable to monitor the location of the train based on received location signals from one or more of the plurality of location devices.

Technical advantages of particular embodiments may include providing real-time location data received directly from collective mobile units being monitored to customers and administrators facilitating the monitoring of such collective mobile units, thereby reducing and preventing delays associated with transporting collective mobile units. Accordingly, the velocity of moving freight by collective mobile units may be optimized, which in turn maximizes the use of standard mobile vehicles.

Further technical advantages of particular embodiments may include monitoring a location of a collective mobile unit based on receiving location signals from the location devices at coordinated intervals. This ensures that the location of the collective mobile unit is being monitored, yet conserves the amount of data being transmitted by the location devices for various purposes, such as for cost and battery conservation.

Another technical advantage of particular embodiments may include automated alerts being communicated to customers and administrators in response to detecting events associated a collective mobile unit. Such automated systems may reduce the amount of manpower required to manage mobile vehicles.

A further technical advantage may include validating an alert before it is communicated to prevent generating a notification for an inaccurate, untimely, duplicate, or overlapping alert.

Another technical advantage of particular embodiments may include enhancing an alert to provide a comprehensive view of a detected event. The alert thus may include current location data, historical location data, the event triggering the alert, and a description thereof. As a result, a customer or administrator may make better decisions concerning the alert.

Certain embodiments of the invention may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of embodiments of the disclosure will be apparent from the detailed description taken in conjunction with the accompanying drawings in which:

FIG. 1 illustrates an example system for monitoring mobile vehicles in accordance with an embodiment of the present disclosure;

FIG. 2 illustrates an example geo-fence comprising a plurality of geographical boundaries in accordance with an embodiment of the present disclosure;

FIGS. 3A and 3B illustrate example alerts associated with monitoring mobile vehicles in accordance with an embodiment of the present disclosure; and

FIG. 4 illustrates an example flow chart for monitoring mobile vehicles in accordance with an embodiment of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention and its advantages are best understood by referring to FIGS. 1 through 4 of the drawings, like numerals being used for like and corresponding parts of the various drawings.

A typical unit train can have two or more railcars associated with it. In addition, railcars can be detached from the unit train for various reasons. Businesses operating railcars and other mobile vehicles use monitoring systems to track and manage railcars and other mobile vehicles for its customers. Typically, data associated with tracking railcars is communicated via car location messages (CLMs). However, current monitoring systems often fail to provide sufficiently timely and accurate CLMs to customers. The teachings of this disclosure recognize that it would be desirable to incorporate location devices into a system and method for monitoring railcars to better track and manage railcars, and to allow railcars to be tracked as a single unit train. FIGS. 1 through 4 below illustrate a system and method of using location signals received from location devices to monitor a plurality of mobile vehicles as a collective mobile unit.

FIG. 1 illustrates an example of a system 100 for monitoring mobile vehicles in accordance with an embodiment of the present disclosure. System 100 may include location devices 105, an enterprise 110, a customer device 115, a network 120, a network storage device 125, mobile vehicles 130, a collective mobile unit 135, and a server 140. Location devices 105, enterprise 110, customer device 115, and network storage device 125 may be communicatively coupled by network 120. Enterprise 110 is generally operable to monitor a location of collective mobile unit 135, as described below.

In general, enterprise 110 uses location data received from location devices 105 to track mobile vehicles 130 as a single mobile unit. Examples of mobile vehicles 130 may include cars, trucks, buses, railcars, trains, trailers, wagons, bicycles, ships, boats, aircrafts, any other mobile vehicles capable of transporting cargo or passengers, or any combination of the preceding. The present disclosure contemplates system 100 comprising any number and combination of mobile vehicles 130.

Mobile vehicles 130 generally form a collective mobile unit 135. According to various embodiments, a collective mobile unit 135 may refer to two or more mobile vehicles 130 traveling together and that may be viewed as a single mobile unit. For example, mobile vehicles 130 a to 130 n may be traveling together to a specific destination. In such an example, mobile vehicles 130 a to 130 n form collective mobile unit 135 and may be monitored as a single unit. As another example, mobile vehicles 130 a to 130 n may be railcars associated with a train. Accordingly, the railcars may be viewed as a collective mobile unit 135 (e.g., a single unit train).

Location devices 105 generally facilitate the monitoring of a collective mobile unit 135 by communicating location signals 145 to enterprise 110. Each location device 105 may be associated with a respective mobile vehicle 130 of collective mobile unit 135 (such as a railcar of a unit train) and may be configured to provide real-time location data associated with collective mobile unit 135. A location device 105 may refer to any device capable of communicating location signals 145. For example, location device 105 may be a cellular device, GPS device, or any other type of device capable of communicating real-time location data via one or more location signals 145. In certain embodiments, location device 105 may be attached to a mobile vehicle 130. It will be understood that system 100 may comprise any number and combination of location devices 105.

Enterprise 110 may include a server 140 operable to monitor collective mobile unit 135. Monitoring collective mobile unit 135 may include monitoring a location of collective mobile unit 135, detecting events associated with collective mobile unit 135, and modifying monitoring behaviors in response to detecting events. The present disclosure contemplates that the collective mobile unit 135 being tracked can be any length of train (e.g., any number of mobile vehicles 130 may form collective mobile unit 135) and/or be a collective subset of railcars from a train (e.g., a certain number of mobile vehicles 130 of the plurality of mobile vehicles 130 forming collective mobile unit 135).

In general, server 140 monitors a location of collective mobile unit 135 based on received location signals 145 from location devices 105. For example, server 140 may first receive location signals 145 from location devices 105. Based on those received location signals 145, server 140 may automatically detect that mobile vehicles 130 are moving in unison, and thus determine mobile vehicles 130 are moving as collective mobile unit 135. In response to determining mobile vehicles 130 are moving as collective mobile unit 135, server 140 may monitor a location of collective mobile unit 135.

To monitor a location of collective mobile unit 135, server 140 may receive location signals 145 from one or more location devices 105. As an example, server 140 may receive a location signal 145 (such as location signal 145 a) from a location device 105 (such as location device 105 a associated with mobile vehicle 130 a), and based on location signal 145 a, determine a first location of collective mobile unit 135 at a first time. Shortly thereafter, server 140 may receive another location signal 145 (such as location signal 145 b) from another location device 105 (such as location device 105 b associated with mobile vehicle 130 b), and based on location signal 145 b, determine a second location of collective mobile unit 135 at a second time. In certain embodiments, the first location and the second location may be approximately the same (taking into account the distance mobile vehicle 130 a and mobile 130 b are spaced apart from one another), such as when collective mobile unit 135 is idle or otherwise remaining in one place.

Server 140 may continue monitoring the location of collective mobile unit 135 based on received location signals 145 from additional location devices 105 by cycling through additional location devices 105 one at a time. For example, server 140 may receive location signals 145 a from location device 105 a at a first time. After a certain time period (e.g., 1 second, 10 seconds, 1 minute, 10 minutes, 1 hour, etc.), server 140 may receive location signals 145 b from location device 105 b at a second time. Server 140 may then continue to alternate through the additional location devices 105 to receive location signals 145. In certain embodiments, after server 140 has cycled through each location device 105 (such as location devices 105 a to 105 n), server 140 may repeat the cycle of alternating through location devices 105 to receive location signals 145 (such as location signals 145 a to 145 n). It will be understood that the present disclosure contemplates receiving location signals 145 from location devices 105 in any suitable order.

According to some embodiments, server 140, or any other component of system 100, may alternate through location devices 105 to conserve power. Alternating through location devices 105 may refer to powering on and off each location device 105 to receive location signals 145 from one location device 105 at a time. Alternating through location devices 105 may also refer to instructing location devices 105 to communicate location signals 145 at coordinated intervals. In certain embodiments, location devices 105 may be configured to communicate such location signals 145 at coordinated intervals.

In various embodiments, server 140 may detect an event based on one or more location signals 145. Detecting an event may include detecting that collective mobile unit 135 crossed a geographic boundary. A geographic boundary may be a predefined border, such as a zone or radius around a geographical area associated with enterprise 110 (e.g., a railroad facility associated with enterprise 110, railcar terminal associated with enterprise 110, etc.). In certain embodiments, a geographic boundary may be part of a geo-fence associated with enterprise 110. For example, server 140 may utilize geo-fencing to detect if a unit train has entered or exited a facility, or if a unit train has come within a certain distance of a facility. If such an event is detected, server 140 may automatically notify a customer and/or an administrator of the event. In other words, geo-fencing may be used to define certain geographic boundaries around or within a geographical area. Such geographic boundaries may be associated with monitoring the location of collective mobile unit 135, as described below with respect to FIG. 2.

In various embodiments, server 140 may detect that collective mobile unit 135 has entered a geographical area by detecting that (1) a certain number of mobile vehicles 130, (2) a certain percentage of mobile vehicles 130, (3) a certain percentage of the length of collective mobile unit 135, or (4) a leading mobile vehicle 130 of collective mobile unit 135 crossed a boundary of a geographical area to enter the geographical area. For example, server 140 may determine that mobile vehicle 130 a has crossed a boundary to enter the geographical area. If server 140 has determined that mobile vehicle 130 a is in front of all other mobile vehicles 130 of collective mobile unit 135, it may be determined that collective mobile unit 135 has entered the geographical area. As another example, server 140 may determine that 5% of mobile vehicles 130 of collective mobile unit 135 have crossed a boundary to enter the geographical area and thus determine that collective mobile unit 135 has entered the geographical area.

Alternatively, server 140 may detect collective mobile unit 135 has exited a geographical area by detecting that (1) a certain number of mobile vehicles 130, (2) a certain percentage of mobile vehicles 130, (3) a certain percentage of the length of collective mobile unit 135, or (4) a last mobile vehicle 130 of collective mobile unit 135 crossed a boundary of a geographical area to exit the geographical area. As an example, if server 140 determines that mobile vehicle 130 n has crossed a boundary to exit a geographical area and that mobile vehicle 130 n is behind all other mobile vehicles 130, it may be determined that collective mobile unit 135 also has exited the geographical area. As another example, server 140 may determine that 5% of mobile vehicles 130 of collective mobile unit 135 have crossed a boundary of a geographical area to exit the geographical area and thus determine that collective mobile unit 135 has exited the geographical area.

In certain embodiments, detecting an event may include detecting that collective mobile unit 135 has crossed a velocity threshold. Examples of crossing a velocity threshold may include moving at a velocity faster than a threshold and/or moving at a velocity slower than a threshold. To determine whether collective mobile unit 135 has crossed a velocity threshold, server 140 may use location signals 145 received from one or more location devices 105. As an example, server 140 may receive one or more location signals 145 from a first location device 105 at a first time and determine a first location of collective mobile unit 135. Server 140 may then receive one or more location signals 145 from a second location device 105 at a second time and determine a second location of collective mobile unit 135. Based on comparing the first location at the first time to the second location at the second time, server 140 may determine a velocity at which collective mobile unit 135 is traveling. After determining the velocity, server 140 may compare the velocity to one or more velocity thresholds to determine whether the velocity of collective mobile unit 135 has crossed the one or more velocity thresholds.

In certain embodiments, if the velocity is less than a certain threshold, server 140 may determine collective mobile unit 135 is idle. A velocity less than a certain threshold may also indicate collective mobile unit 135 will cross a geographic boundary later than expected, such as arrive at a destination after an estimated arrival time. In some embodiments, if the velocity is greater than a certain threshold, server 140 may determine collective mobile unit 135 is not idle and/or is moving at a velocity faster than expected. In such an embodiment, a velocity faster than expected may indicate collective mobile unit 135 will cross a geographic boundary earlier than expected, such as arrive at a destination before an estimated arrival time.

In response to detecting an event, one or monitoring behaviors of server 140 may be modified. Modifying a monitoring behavior may include: (1) receiving location signals more frequently or less frequently; (2) monitoring individual locations of one or more railcars in addition to monitoring a location of a unit train; (3) switching between monitoring a location of a unit train and monitoring individual locations of railcars; (4) changing an established threshold (e.g., increasing or decreasing a velocity threshold value, time threshold value, etc.); (5) communicating alerts comprising location data associated with the unit train and/or one or more railcars; (6) changing any other monitoring behavior; or (7) any combination thereof.

For example, server 140 may utilize geo-fencing to detect if a collective mobile unit 135 (such as a unit train) has entered or exited a facility or has come within a certain distance of a facility. If such an event is detected, the monitoring behavior of server 140 may be modified in a manner that causes server 140 to automatically notify a customer and/or an administrator of the event. As another example, if server 140 detects that collective mobile unit 135 (such as a unit train) has crossed a geographic boundary (e.g., a boundary to enter or exit a facility or a boundary within a facility such as a loading area, unloading area, or holding area), the monitoring behavior of server 140 may be modified such that server 140 begins monitoring individual locations of mobile vehicles 130 (such as individual locations of railcars). In such an example, server 140 may receive location signals 145 from location devices 105 at substantially the same time and based on those received location signals 145, determine a location and/or status of each railcar at that time.

In certain embodiments, if the monitoring behavior of server 140 has been modified to cause individual locations of mobile vehicles 130 to be monitored, server 140 may determine that a mobile vehicle 130 is no longer part of collective mobile unit 135. More specifically, server 140 may determine whether one or more mobile vehicles 130 have been detached from collective mobile unit 135 (e.g., one or more railcars have been detached from a unit train). Server 140 may do so by comparing a location of one or more mobile vehicles 130 to a location of one or more other mobile vehicles 130 at approximately a same time.

According to various embodiments, a monitoring behavior of server 140 may be modified by switching from monitoring the location of collective mobile unit 135 to monitoring individual locations of mobile vehicles 130 in response to a certain number or percentage of mobile vehicles 130, a certain percentage of the total length of collective mobile unit 135, or a leading mobile vehicle 130 of collective mobile unit 135 entering a geographical area (such as entering a train facility or train terminal). In such embodiments, server 140 may further detect when a certain number or percentage of mobile vehicles 130, a certain percentage of the length of collective mobile unit 135, or a last mobile vehicle 130 of collective mobile unit 135 has exited a geographical area (such as left a train facility or train terminal), and therefore detect that collective mobile unit 135 has exited the geographical area. Such may be detected based on the monitoring of the individual locations of mobile vehicles 130. In response to detecting collective mobile unit 135 has exited a geographical area, server 140 may return to monitoring a location of collective mobile unit 135 (rather than monitoring individual locations of mobile vehicles 130), and thereby return to tracking mobile vehicles 130 as a single unit.

In some embodiments, server 140 may utilize CLMs to communicate location data associated with collective mobile unit 135. Location data may include a location, a time associated with the location, an event indicator if an event has occurred, an event description if an event has occurred, etc. In certain embodiments, server 140 may automatically communicate an alert 150 based on detecting an event. Alert 150 may be communicated to customer device 115 and/or administrator device 160, thereby notifying a customer and/or an administrator of an event (e.g., notifying a customer and/or administrator that collective mobile unit 135 crossed a geographic boundary, collective mobile unit 135 crossed a velocity threshold, a mobile vehicle 130 is no longer part of collective mobile unit 135, etc.). Alert 150 may be communicated in any suitable format.

According to certain embodiments, server 140 may validate alert 150 before notifying a customer or administrator of a detected event. Validating alert 150 may include determining that alert 150 is accurate and timely, is not duplicative of another alert 150, and/or does not overlap with another alert 150. As an example, an alert 150 may be validated if the detection of an event triggering the generation of alert 150 is accurate and timely. As another example, an alert 150 may not be validated if another alert 150 of the same alert type (e.g., indicating the same event or event type) has been communicated within a certain window of time (e.g., an alert of the same alert type has been communicated within the past 12 hours).

In certain embodiments, server 140 may use location data 155 to facilitate the monitoring of a location of collective mobile unit 135. Location data 155 may refer to any information associated with monitoring mobile vehicles that may be stored in one or more records in one or more databases. Location data 155 may include data associated with received location signals 145, data associated with previous events, data associated with previous alerts 150, previous locations of collective mobile unit 135, previous locations of mobile vehicles 130, or any other data suitable for a particular purpose.

In the illustrated embodiment, network storage device 125 stores location data 155. Network storage device 125 may refer to any suitable device communicatively coupled to network 120 and capable of storing and facilitating retrieval of data and/or instructions. Examples of network storage device 125 include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), database and/or network storage (for example, a server), and/or any other volatile or non-volatile, non-transitory computer-readable memory devices that store one or more files, lists, tables, or other arrangements of information. Network storage device 125 may store any data and/or instructions utilized by server 140.

Location devices 105, server 140, and other components of system 100 may be communicatively coupled by network 120. In certain embodiments, network 120 may refer to any interconnecting system capable of transmitting audio, video, signals, data, messages or any combination of the preceding. Network 120 may include all or a portion of a public switched telephone network (PSTN), a public or private data network, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a local, regional, or global communication or computer network such as the Internet, a wireline or wireless network, an enterprise intranet, or any other suitable communication link, including combinations thereof.

In some embodiments, enterprise 110 may refer to a business operating railcars and may include one or more servers 140 and an administrator device 160. In some embodiments, server 140 may refer to any suitable combination of hardware and/or software implemented in one or more modules to process data and provide the described functions and operations. In some embodiments, the functions and operations described herein may be performed by a pool of servers 140. In some embodiments, server 140 may include, for example, a mainframe, server, host computer, workstation, web server, file server, a personal computer such as a laptop, or any other suitable device operable to process data. In some embodiments, server 140 may execute any suitable operating system such as IBM's zSeries/Operating System (z/OS), MS-DOS, PC-DOS, MAC-OS, WINDOWS, UNIX, OpenVMS, or any other appropriate operating systems, including future operating systems.

In general, server 140 receives location signals 145 from location devices 105, and based on received location signals 145, monitors a location of collective mobile unit 135. In some embodiments, server 140 may include a processor 165, server memory 170, an interface 175, an input 180, and an output 185. Server memory 170 may refer to any suitable device capable of storing and facilitating retrieval of data and/or instructions. Examples of server memory 170 include computer memory (for example, RAM or ROM), mass storage media (for example, a hard disk), removable storage media (for example, a CD or a DVD), database and/or network storage (for example, a server), and/or any other volatile or non-volatile, non-transitory computer-readable memory devices that store one or more files, lists, tables, or other arrangements of information. Although FIG. 1 illustrates server memory 170 as internal to server 140, it should be understood that server memory 170 may be internal or external to server 140, depending on particular implementations. Also, server memory 170 may be separate from or integral to other memory devices to achieve any suitable arrangement of memory devices for use in system 100.

Server memory 170 is generally operable to store an application 172 and geographical boundaries 174. Application 172 generally refers to logic, rules, algorithms, code, tables, and/or other suitable instructions for performing the described functions and operations. In some embodiments, application 172 facilitates monitoring the location of collective mobile unit 135.

Server memory 170 communicatively couples to processor 165. Processor 165 is generally operable to execute application 172 stored in server memory 170 to monitor collective mobile unit 135 according to the disclosure. Processor 165 may comprise any suitable combination of hardware and software implemented in one or more modules to execute instructions and manipulate data to perform the described functions for server 140. In some embodiments, processor 165 may include, for example, one or more computers, one or more central processing units (CPUs), one or more microprocessors, one or more applications, and/or other logic.

In some embodiments, communication interface 175 (I/F) is communicatively coupled to processor 165 and may refer to any suitable device operable to receive input for server 140, send output from server 140, perform suitable processing of the input or output or both, communicate to other devices, or any combination of the preceding. Communication interface 175 may include appropriate hardware (e.g., modem, network interface card, etc.) and software, including protocol conversion and data processing capabilities, to communicate through network 120 or another communication system, which allows server 140 to communicate to other devices. Communication interface 175 may include any suitable software operable to access data from various devices such as customer device 115 and/or network storage device 125. Communication interface 175 may also include any suitable software operable to transmit data to various devices such as customer device 115, network storage device 125, and/or administrator device 160. Communication interface 175 may include one or more ports, conversion software, or both. In general, communication interface 175 receives location signals 145 from location devices 105 and transmits alerts 150 to customer device 115 and/or administrator device 160.

In some embodiments, input device 180 may refer to any suitable device operable to input, select, and/or manipulate various data and information. Input device 180 may include, for example, a keyboard, mouse, graphics tablet, joystick, light pen, microphone, scanner, or other suitable input device. Output device 185 may refer to any suitable device operable for displaying information to a user. Output device 185 may include, for example, a video display, a printer, a plotter, or other suitable output device.

In general, an administrator may interact with server 140 using administrator device 160. In some embodiments, administrator device 160 may be communicatively coupled to server 140 and may refer to any suitable computing system, workstation, personal computer such as a laptop, or any other device operable to process data. In certain embodiments, an administrator may utilize administrator device 160 to manage server 140 and any of the data stored in server memory 170 and/or network storage device 125.

In operation, application 172, upon execution by processor 165, facilitates tracking mobile vehicles 130 as a collective mobile unit 135. To track mobile vehicles 130 as collective mobile unit 135, application 172 may receive location signals 145 from location devices 105 one at a time. For example, application 172 may receive location signals 145 from a first location device 105 at a first time, receive location signals 145 from a second location device 105 at a second time, and so on. In certain embodiments, to receive location signals 145 from a certain location device 105, application 172 may first turn on the certain location device 105. In such an embodiment, once application 172 receives location signals 145 from the certain location device 105, application 172 may turn off the certain location device 105.

Based on received location signals 145, application 172 may monitor a location of collective mobile unit 135. A location of collective mobile unit 135 may include a latitude/longitude coordinate, a distance from a particular city, a distance from a particular destination (such as a train facility or train terminal), a distance from one or more geographical boundaries 174 (such as a radius or zone around a geographical area or a set of boundaries of a geo-fence), and so on. Application 172 may also determine a status of collective mobile unit 135. A status of collective mobile unit 135 may include a velocity of collective mobile unit 135 (including whether collective mobile unit 135 is moving or is idle (and if collective mobile unit 135 is idle, a status may indicate an amount of time collective mobile unit 135 has been idle)), an estimated time of arrival to or departure from a destination, an estimated route to a destination (such as a direction collective mobile unit 135 is traveling towards), and so on. In various embodiments, application 172 may associate a time with the location and/or status of collective mobile unit 135.

In certain embodiments, application 172 may detect an event based on monitoring a location of collective mobile unit 135. Detecting an event may include (1) detecting that collective mobile unit 135 crossed a geographic boundary 174 (e.g., a unit train is within a certain distance of a train terminal, a unit train entered or exited a loading or unloading area of a terminal, a unit train entered or exited a train terminal, etc.); (2) detecting that a certain number of mobile vehicles 130, a certain percentage of mobile vehicles 130, a certain percentage of the length of collective mobile unit 135, or a leading mobile vehicle 130 of collective mobile unit 135 crossed a boundary of a geographical area to enter the geographical area (thereby detecting that collective mobile unit 135 has entered the geographical area); (3) detecting that a certain number of mobile vehicles 130, a certain percentage of mobile vehicles 130, a certain percentage of the length of collective mobile unit 135, or a last mobile vehicle 130 of collective mobile unit 135 crossed a boundary of a geographical area to exit the geographical area (thereby detecting that collective mobile unit 135 has exited the geographical area); (4) detecting that collective mobile unit 135 has crossed a velocity threshold (e.g., a unit train is traveling at a velocity faster than a threshold, slower than a threshold, etc.); (5) detecting an amount of time collective mobile unit 135 has been idle exceeds an idle-time threshold; (6) detecting that a mobile vehicle 130 is no longer part of collective mobile unit 135 (e.g., a railcar has been detached from a unit train); (7) detecting that collective mobile unit 135 is traveling off-course (e.g., a unit train is heading in the wrong direction or toward the wrong destination, detouring from an expected route, etc.); (8) detecting that collective mobile unit 135 will arrive early to a destination; and/or (9) detecting that collective mobile unit 135 will arrive late to a destination.

According to some embodiments, application 172 may detect an event based at least in part upon location data 155 stored in network storage device 125. For example, after receiving location signals 145 from location device 105, application 172 may compare data associated with location signals 145 to location data 155. Based on the comparison, application 172 may determine whether a current location of collective mobile unit 135 is different from a previous location of collective mobile unit 135. In certain embodiments, if application 172 determines the current location and the previous location are approximately the same, application 172 may determine that collective mobile unit 135 is idle. On the other hand, if application 172 determines the current location and the previous location are different, it may be determined that collective mobile unit 135 is not idle or that at least one mobile vehicle 130 is no longer part of collective mobile unit 135.

In response to the detection of an event, application 172 may monitor individual locations of mobile vehicles 130. To monitor individual locations of mobile vehicles 130, application 172 may track one or more mobile vehicles 130 separately from collective mobile unit 135 and/or each other mobile vehicle 130. In other words, application 172 may receive real-time locations signals 145 from multiple location devices 105 at a time. Based on receiving real-time location signals 145, a location and/or status of the respective mobile vehicles 130 may be determined.

According to various embodiments, application 172 may determine that a mobile vehicle 130 is no longer part of collective mobile unit 135 based at least in part upon the monitoring of the individual locations of mobile vehicles 130. Application 172 may also determine a mobile vehicle 130 is no longer part of collective mobile unit 135 based at least in part upon detecting that collective mobile unit 135 crossed a geographic boundary. As an example, application 172 may first detect that collective mobile unit 135 crossed a geographic boundary and in response monitor individual locations of mobile vehicles 130. Application 172 may then compare the individual locations of mobile vehicles 130 to each other to determine whether a mobile vehicle 130 has been detached from collective mobile unit 135. In certain embodiments, application 175 is further able to determine a distance of a detached mobile vehicle 130 from collective mobile unit 135. In some embodiments, a detached mobile vehicle 130 may be determined based at least in part upon a comparison of a current location to previous locations of collective mobile unit 135. For example, if a difference between a current location and one or more previous locations exceeds a certain threshold and the current location and the one or more previous locations were determined within a certain period of time from each other, it may be determined that a mobile vehicle 130 has been detached from collective mobile unit 135.

In some embodiments, based on the detection of an event, application 172 may communicate an alert 150. Alert 150 may indicate the occurrence of an event and may include a description of the event (e.g., collective mobile unit 135 crossed a geographic boundary and/or velocity threshold, a mobile vehicle 130 is no longer part of collective mobile unit 135, etc.). According to certain embodiments, application 172 may validate alert 150 before notifying a customer or administrator of a detected event. Validating alert 150 may include determining that alert 150 is accurate and timely, is not duplicative of another alert 150, and/or does not overlap with another alert 150. As an example, an alert 150 may be validated if the detection of an event triggering the generation of alert 150 is accurate and timely. As another example, an alert 150 may not be validated if another alert 150 of the same alert type (e.g., indicating the same event or event type) has been communicated within a certain window of time (e.g., an alert of the same alert type has been communicated within the past 12 hours). In some embodiments, if alert 150 is not validated, application 172 may not communicate alert 150.

Application 172 may communicate alert 150 to customer device 115 and/or administrator device 160 in any suitable format. For example, alert 150 may be communicated in a standardized format comprising standardized fields. Moreover, alert 150 may be communicated to a display or other user interface, or it can be communicated to any downstream application. For example, application 172 may provide alert 150 to a customer and/or administrator by utilizing customer device 115 and/or administrator device 160, respectively.

Customer device 115 and administrator device 160 may refer to any device that enables a customer or administrator to interact with server 140. In some embodiments, customer device 115 and/or administrator device 160 may include a computer, workstation, telephone, mobile phone, Internet browser, electronic notebook, Personal Digital Assistant (PDA), pager, or any other suitable device (wireless, wireline, or otherwise), component, or element capable of receiving, processing, storing, and/or communicating information with other components of system 100. Customer device 115 and/or administrator device 160 may also comprise any suitable user interface such as a display, microphone, keyboard, or any other appropriate terminal equipment usable by a customer and/or administrator. It will be understood that system 100 may comprise any number and combination of customer devices 115 or administrator devices 160.

A customer may utilize customer device 115 to interact with server 140 to receive alerts 150 or other real-time location information associated with one or more collective mobile units 135. In certain embodiments, a customer may use customer device 115 to request a location or other status of collective mobile unit 135. In such an embodiment, an alert 150 indicating at least a current location of collective mobile unit 135 may be communicated regardless of whether an event has been detected.

Likewise, an administrator may utilize administrator device 160 to interact with server 140 to receive alerts 150 or other real-time location data associated with tracking one or more collective mobile units 135 associated with an enterprise. In some embodiments, an administrator may be an employee of an enterprise associated with operating railcars monitoring or otherwise investigating a location of one or more collective mobile units 135. An administrator may also use administrator device 160 to provide various instructions to server 140 and/or communicate various notifications to a customer in response to receiving an alert 150 via administrator device 160.

In some embodiments, customer device 115 and/or administrator device 160 may include a graphical user interface (GUI). The GUI is generally operable to tailor and filter data presented to customers and administrators. The GUI may provide an efficient and user-friendly presentation of alert 150. The GUI may comprise a plurality of displays having interactive fields, pull-down lists, and buttons operated by a customer or administrator, and may include multiple levels of abstraction including groupings and boundaries. It should be understood that the term GUI may be used in the singular or in the plural to describe one or more GUIs and each of the displays of a particular GUI.

FIG. 2 illustrates an example geo-fence 200 comprising a set of geographic boundaries 174 in accordance with an embodiment of the present disclosure. System 100 generally includes various geo-fences 200 associated with enterprise 110. A geo-fence 200 may refer to one or more geographic boundaries 174 surrounding a facility associated with enterprise 110 and/or within a geographical area associated with the facility. In the illustrated embodiment, geo-fence 200 may be stored in server memory 170 and may be associated with a first track 210 and a second track 220. In certain embodiments, first track 210 may comprise a mainline track and second track 220 may comprise a terminal track.

Second track 220 may be associated with a railroad facility, such as a train terminal associated with enterprise 110. Second track 220 may also be associated with a geo-fence 200 comprising a set of geographic boundaries 174 defined by enterprise 110. In certain embodiments, a set of geographic boundaries 174 may comprise geographic virtual boundaries surrounding various geographical areas associated with a facility.

In general, an administrator associated with enterprise 110 may create a geo-fence for a facility by setting up triggers associated with geographic boundaries 174 via administrator device 160 such that when collective mobile unit 135 crosses a geographic boundary 174, an event may be detected. According to some embodiments, when collective mobile unit 135 crosses a geographic boundary 174, an alert 150 indicating collective mobile unit 135 has crossed geographic boundary 174 may be automatically communicated. In certain embodiments, the administrator also may use administrator device 160 to store geographical boundaries 174 (and the associated triggers) in server memory 170.

Geographic boundaries 174 of geo-fence 200 may include a radius around the facility (not shown), such as a 20 mile radius, 50 mile radius, 100 mile radius, and so on. When collective mobile unit 135 enters this radius or leaves this radius, an event may be detected. Another geographic boundary 174 may be an enter boundary 230. Enter boundary 230 may refer to an entrance point for which collective mobile unit 135 may leave first track 210 to enter the facility via second track 220. As such, when collective mobile unit 135 crosses enter boundary 230, an event may be detected (e.g., collective mobile unit 135 has entered the facility). Similarly, geographical boundaries 174 may include an exit boundary 240. Crossing exit boundary 240 may indicate collective mobile unit 135 is exiting the facility. Thus, crossing exit boundary 240 may trigger detection of an event (e.g., collective mobile unit 135 has exited the facility).

Geographic boundaries 174 may further include loading boundaries 250. In the illustrated embodiment, loading boundary 250 a may be associated with Loading Site I and loading boundary 250 b may be associated with Loading Site II. In such an embodiment, when collective mobile unit 135 enters and/or exits loading boundary 250, an event may be detected. For example, if collective mobile unit 135 enters loading boundary 250 a, enterprise 110 may detect that collective mobile unit 135 has entered Loading Site I, and thereby detect an event. As a further example, if collective mobile unit 135 exits loading boundary 250 a, enterprise 110 may detect that collective mobile unit 135 has exited Loading Site I, and thus detect an event.

In certain embodiments, geographical boundaries 174 may include a holding boundary 260. Holding boundary 260 may refer to a geographical area where collective mobile unit 135 may be held (such as for congestion, holding before being called into a facility for loading, a Maintenance of Way curfew, or other suitable purpose). Entering and/or exiting holding boundary 260 generally triggers detection of an event. For example, if collective mobile unit 135 enters holding boundary 260, system 110 may determine collective mobile unit 135 is being held, and as a result, detect an event. In such an example, system 110 may also determine a reason for which collective mobile unit 135 is being held. Once collective mobile unit 135 exits holding boundary 260, system 110 may detect another event.

Although geo-fence 200 was described as including certain geographical boundaries 174, this disclosure contemplates that geo-fence 200 may have any number of geographic boundaries 174 of any type. For example, geographical boundaries 174 may include staging boundaries (for trains being held waiting for release to enter a facility), bad order boundaries (for mobile vehicles 130 with mechanical defects), and so on.

FIGS. 3A and 3B illustrate example alerts 150 associated with monitoring mobile vehicles 130 in accordance with embodiments of the present disclosure. In general, alerts 150 include data associated with the location of collective mobile unit 135, such as one or more of location data 155 a to 155 n of network storage device 125. Alerts 150 may be communicated to customers and/or administrators. According to various embodiments, alerts 150 may be stored in server memory 170. Server memory 170 may store the data in any suitable format.

FIG. 3A illustrates an example alert 150 that may be communicated via email. An email alert 150 may include a header section 300 and a body section 310. Header section 300 may include a sender identifier (e.g., an email address or name of a sender), a recipient address (e.g., an email address of a recipient), a sent date and/or time stamp, and a subject header field. The subject header field may include a brief description of the reason for communicating an email alert 150, such as “ALERT: Alert Type.”

Body section 310 may include attributes associated with an event, a date and/or time stamp of an event, a location header, and/or a location of an event. Attributes may include an alert description (e.g., detailed description of the alert and detected event), a mobile vehicle 130 identifier (e.g., a name or other identifier identifying a respective mobile vehicle 130 associated with the location device from which system 100 received location signals 145 and thereby detected an event), and a collective mobile unit 135 identifier (e.g., a name or other identifier identifying a collective mobile unit associated with an event). In certain embodiments, a date and/or time stamp of an event may be included and may include the specific date and time an event occurred. According to some embodiments, a time stamp may be for a specific time zone associated with various regions, such as Central Standard Time zone. In certain embodiments, alert 150 may include time stamps for multiple time zones.

In various embodiments, a location header may refer to a brief descriptive word or phrase that may facilitate a customer, administrator, or other recipient of email alert 150, to quickly identify the location of collective mobile unit 135 and/or one or more mobile vehicles 130. To do so, the text of location header may be bolded, italicized, underlined, and/or otherwise emphasized. For example, the location header may be “Location.” After the location header, body section 310 may include a location identifier identifying the location of an event. The location identifier may be an address, city, distance and/or direction to or from a particular city, and/or latitude and longitude coordinate. Although certain examples have been used to illustrate email alert 150, any suitable data may be used.

In some embodiments, email alert 150 is communicated in a format that allows the data to be presented to a customer or administrator in the form of a table of rows and columns. For example, the rows of email alert 150 may be organized according to section type, and the columns may be organized according to descriptors describing the data included in each section. In some embodiments, customer device 115 and/or administrator device 160 presents a high-level view with hyperlinks to allow for drilling down into the details of a particular alert or other notification.

FIG. 3B illustrates an example alert 150 that may be communicated to a mobile device via text message. As described above, an alert 150 may include any location data associated with the location of a collective mobile unit 135. In general, text message alert 150 includes a brief description 320 associated with a detected event. For example, brief description 320 may include an alert type identifying a detected event associated with a collective mobile unit 135 and/or a mobile vehicle 130, a detailed description, a location of a detected event, and/or a date and/or time stamp of a detected event. Although certain examples have been used to illustrate text message alert 150, any suitable data may be used.

FIG. 4 illustrates an example flow chart 400 for monitoring mobile vehicles 130 in accordance with an embodiment of the present disclosure. The method begins at step 402 by receiving location signals 145 from location devices 105. In some embodiments, location signals 145 are received from one location device 105 at a time.

Based on the received location signals 145, the method may continue to step 404 where a location of collective mobile unit 135 is monitored. Monitoring a location of collective mobile unit 135 may include monitoring a latitude and longitude coordinate, a distance from a particular city, a distance from a particular destination (such as a train facility or train terminal), a distance from one or more geographical boundaries 174 (such as a radius or zone around a geographical area or a set of boundaries of a geo-fence), and so on. Monitoring a location of collective mobile unit 135 may also include determining a status of collective mobile unit 135. A status of collective mobile unit 135 may refer to a velocity of collective mobile unit 135 (including whether collective mobile unit 135 is moving or idle, and if collective mobile unit 135 is idle, an amount of time collective mobile unit 135 has been idle), an estimated time of arrival to or departure from a destination, an estimated route to a destination (such as a direction collective mobile unit 135 is traveling towards), and so on. In various embodiments, a time may be associated with the location and/or status of collective mobile unit 135.

At step 406, the method may determine whether an event has occurred. Examples of events may include (1) detecting that collective mobile unit 135 crossed a geographic boundary (e.g., a predefined border such as a zone or radius around a geographical area, a predefined set of virtual boundaries of a geo-fence, etc.); (2) detecting that a certain number of mobile vehicles 130, a certain percentage of mobile vehicles 130, a certain percentage of the length of collective mobile unit 135, or a leading mobile vehicle 130 of collective mobile unit 135 crossed a boundary of a geographical area to enter the geographical area (thereby detecting that collective mobile unit 135 has entered the geographical area); (3) detecting that a certain number of mobile vehicles 130, a certain percentage of mobile vehicles 130, a certain percentage of the length of collective mobile unit 135, or a last mobile vehicle 130 of collective mobile unit 135 crossed a boundary of a geographical area to exit the geographical area (thereby detecting that collective mobile unit 135 has exited the geographical area); (4) detecting that collective mobile unit 135 has crossed a velocity threshold (e.g., collective mobile unit 135 is traveling at a velocity faster than a threshold, slower than a threshold, etc.); (5) detecting an amount of time collective mobile unit 135 has been idle exceeds an idle-time threshold; (6) detecting that a mobile vehicle 130 is no longer part of collective mobile unit 135 (e.g., a mobile vehicle 130 has been detached from collective mobile unit 135); (7) detecting that collective mobile unit 135 is traveling off-course (e.g., collective mobile unit 135 is heading toward a wrong destination, detouring from an expected route, etc.); (8) detecting that collective mobile unit 135 will arrive early to a destination; and/or (9) detecting that collective mobile unit 135 will arrive late to a destination. According to some embodiments, the method may use location data 155 stored in network storage device 125 to facilitate determining the occurrence of an event.

In certain embodiments, if an event has not been detected, the method may end. On the other hand, if an event has been detected, the method may proceed to step 408.

At step 408, the method monitors individual locations of mobile vehicles 130 based on determining an event has occurred. In certain embodiments, the method switches from monitoring a location of collective mobile unit 135 to monitoring individual locations of mobile vehicles 130 in response to the occurrence of an event. To monitor individual locations of mobile vehicles 130, the method may track one or more mobile vehicles 130 separately from collective mobile unit 135 and/or each other mobile vehicle 130. In other words, real-time location signals 145 may be received from multiple location devices 105 at a time. Based on receiving real-time location signals 145, a location and/or status of the respective mobile vehicles 130 may be determined.

Based on locations and/or statuses of individual mobile vehicles 130, the method may determine whether a mobile vehicle 130 is no longer part of collective mobile unit 135 (e.g., determine whether a mobile vehicle 130 has been detached from collective mobile unit 135) at step 410. According to various embodiments, determining a mobile vehicle 130 is no longer part of collective mobile unit 135 may be based at least in part upon detecting that collective mobile unit 135 crossed a geographic boundary 174. For example, the method may first detect that collective mobile unit 135 crossed a geographic boundary 174 and in response monitor individual locations of mobile vehicles 130. The method may then compare the individual locations of mobile vehicles 130 to each other to determine whether a mobile vehicle 130 has been detached from collective mobile unit 135.

In some embodiments, a detached mobile vehicle 130 may be determined based at least in part upon a comparison of a current location to previous locations of collective mobile unit 135. For example, if a difference between a current location and one or more previous locations exceeds a certain threshold and the current location and the one or more previous locations were determined within a certain period of time of each other, the method may determine that a mobile vehicle 130 has been detached from collective mobile unit 135.

In the illustrated embodiment, if at step 410 the method determines that at least one mobile vehicle 130 is no longer part of collective mobile unit 135, the method may continue to step 412. Alternatively, the method may end.

At step 412, an alert 150 indicating at least one mobile vehicle 130 is no longer part of collective mobile unit 135 is communicated to, for example, customer device 115 and/or administrator device 160. Alert 150 may be communicated in any suitable format. For example, alert 150 may be communicated in a standardized format comprising standardized fields. Moreover, alert 150 may be communicated to a display or other user interface, or it can be communicated to any downstream application.

Once the method communicates alert 150, the method ends.

Some of the steps illustrated in FIG. 4 may be combined, modified, or deleted where appropriate, and additional steps may also be added to the flowchart. Additionally, steps may be performed in any suitable order without departing from the scope of the disclosure.

Teachings of the present disclosure may be satisfactorily used to manage railroad cars or railway cars. Modifications, additions, or omissions may be made to the systems described herein without departing from the scope of the invention. The components may be integrated or separated. Moreover, the operations may be performed by more, fewer, or other components. Additionally, the operations may be performed using any suitable logic comprising software, hardware, and/or other logic. As used in this document, “each” refers to each member of a set or each member of a subset of a set.

Modifications, additions, or omissions may be made to the methods described herein without departing from the scope of the invention. For example, the steps may be combined, modified, or deleted where appropriate, and additional steps may be added. Additionally, the steps may be performed in any suitable order without departing from the scope of the present disclosure.

Although the present invention has been described with several embodiments, a myriad of changes, variations, alterations, transformations, and modifications may be suggested to one skilled in the art, and it is intended that the present invention encompass such changes, variations, alterations, transformations, and modifications as fall within the scope of the appended claims. 

What is claimed is:
 1. A method comprising: receiving location signals from a plurality of location devices, each location device associated with a respective railcar of a plurality of railcars; wherein the plurality of railcars form a train; and monitoring, based on received location signals from one or more of the plurality of location devices, a location of the train.
 2. The method of claim 1, wherein monitoring a location of the train based on the received location signals from the one or more of the plurality of location devices comprises monitoring a location of the train based on the received location signals from one of the plurality of location devices at a time.
 3. The method of claim 2, wherein monitoring a location of the train based on the received location signals from one of the plurality of location devices at a time comprises: monitoring a location of the train based on the received location signals from a first location device of the plurality of location devices at a first time; and monitoring a location of the train based on the received location signals from a second location device of the plurality of location devices at a second time.
 4. The method of claim 3, wherein monitoring a location of the train based on the received location signals from one of the plurality of location devices at a time further comprises monitoring a location of the train based on the received location signals from additional location devices of the plurality of location devices by cycling through the additional location devices one at a time.
 5. The method of claim 1, further comprising: detecting, based on the received location signals from one or more of the plurality of locations devices, an event; and monitoring, based on the detection of the event, individual locations of the plurality of railcars of the train.
 6. The method of claim 5, wherein detecting the event comprises detecting that the train has crossed a velocity threshold.
 7. The method of claim 5, wherein detecting the event comprises detecting that the train crossed a geographic boundary.
 8. The method of claim 7, further comprising: determining, based on the monitoring of the individual locations of the plurality of railcars, that a first railcar of the plurality of railcars is no longer part of the train; and communicating, based on determining that the first railcar of the plurality of railcars is no longer part of the train, an alert indicating that the first railcar of the plurality of railcars is no longer part of the train.
 9. The method of claim 1, further comprising detecting that the train has entered a geographical area by detecting that a percentage of the plurality of railcars of the train have crossed a boundary of a geographical area to enter the geographical area.
 10. The method of claim 9, further comprising monitoring, based upon detecting the train has entered a geographical area by detecting that a percentage of the plurality of railcars of the train have crossed a boundary of a geographical area to enter the geographical area, individual locations of the plurality of railcars of the train.
 11. The method of claim 1, further comprising detecting that the train has exited a geographical area by detecting that a percentage of the plurality of railcars of the train have crossed a boundary of a geographical area to exit the geographical area.
 12. The method of claim 11, further comprising monitoring, based upon detecting the train has exited a geographical area by detecting that a percentage of the plurality of railcars of the train have crossed a boundary of a geographical area to exit the geographical area, a location of the train.
 13. A system comprising: a memory operable to store data associated with monitoring a location of a train; and a processor communicatively coupled to the memory and operable to: receive location signals from a plurality of location devices, each location device associated with a respective railcar of a plurality of railcars, wherein the plurality of railcars form the train; and monitor, based on received location signals from one or more of the plurality of location devices, the location of the train.
 14. The system of claim 13, wherein monitoring a location of the train based on the received location signals from the one or more of the plurality of location devices comprises monitoring a location of the train based on the received location signals from one of the plurality of location devices at a time.
 15. The system of claim 14, wherein monitoring a location of the train based on the received location signals from one of the plurality of location devices at a time comprises: monitoring a location of the train based on the received location signals from a first location device of the plurality of location devices at a first time; and monitoring a location of the train based on the received location signals from a second location device of the plurality of location devices at a second time.
 16. The system of claim 15, wherein monitoring a location of the train based on the received location signals from one of the plurality of location devices at a time further comprises monitoring a location of the train based on the received location signals from additional location devices of the plurality of location devices by cycling through the additional location devices one at a time.
 17. The system of claim 13, the processor further operable to: detect, based on the received location signals from the one or more of the plurality of location devices, an event; and monitor, based on the detection of the event, individual locations of the plurality of railcars of the train.
 18. The system of claim 17, wherein detecting the event comprises detecting that the train has crossed a velocity threshold.
 19. The system of claim 17, wherein detecting the event comprises detecting that the train crossed a geographic boundary.
 20. The system of claim 19, the processor further operable to: determine, based on the monitoring of the individual locations of the plurality of railcars, that a first railcar of the plurality of railcars is no longer part of the train; and communicate, based on determining that the first railcar of the plurality of railcars is no longer part of the train, an alert indicating that the first railcar of the plurality of railcars is no longer part of the train.
 21. The system of claim 13, further comprising detecting that the train has entered a geographical area by detecting that a percentage of the plurality of railcars of the train have crossed a boundary of a geographical area to enter the geographical area.
 22. The system of claim 21, further comprising monitoring, based upon detecting the train has entered a geographical area by detecting that a percentage of the plurality of railcars of the collective mobile unit have crossed a boundary of a geographical area to enter the geographical area, individual locations of the plurality of railcars of the train.
 23. The system of claim 13, further comprising detecting that the train has exited a geographical area by detecting that a percentage of the plurality of railcars of the train have crossed a boundary of a geographical area to exit the geographical area.
 24. The system of claim 23, further comprising monitoring, based upon detecting the train has exited a geographical area by detecting that a percentage of the plurality of railcars of the train have crossed a boundary of a geographical area to exit the geographical area, a location of the train. 